predicate in discrete mathematics